package cn.edu.scnu.socialapp.service;

import cn.edu.scnu.socialapp.model.vo.Result;
import cn.edu.scnu.socialapp.model.vo.params.ArticleParams;
import cn.edu.scnu.socialapp.model.vo.params.PageParams;
import org.springframework.transaction.annotation.Transactional;

public interface ArticleService {
    /**
     * 分页查询 文章列表
     * @param pageParams
     * @return vo.Result
     */
    Result listArticle(PageParams pageParams) ;


    /**
     * 文章归档
     * @return
     */
    Result listArchives();

    /**
     * 通过ID查询文章内容
     * @param articleId
     * @return
     */
    Result findArticleById(Long articleId);

    /**
     * 发布文章
     * @param articleParams
     * @return
     */
    @Transactional
    Result publish(ArticleParams articleParams);

    /**
     * 删除文章
     * @param articleId
     * @return
     */
    @Transactional
    Result deleteArticleById(Long articleId);

    /**
     * 编辑文章
     * @param articleParams
     * @return
     */
    @Transactional
    Result edit(ArticleParams articleParams);
}
